new Vue({
    el: '#app',
    mixins: [Query],//组件配置文件，路径/utils/components.js
    data() {
        return {
            form: {//查询筛选
                value:'',
                value2: '', //存储企业编号
                PageNumber: 1, //页码
                RowAmount: 20,
                Condition: utf8ToBase64("%%"),
            },
        }
    },
    mounted() {
        /**
         * 组件配置文件中自动执行方法
         * 1.this.getColumn(); //查询表头数据
         * 2.this.getList(this.form); //查询表格数据
         * 3.this.getTreeData();//查询树
         */
    },
    methods: {
        handleSerach() { //筛选
            this.form.Condition = utf8ToBase64(`%${this.form.value}%`);
            this.getList(this.form);
            this.form.PageNumber = 1;//重置页码
        },
        handleNodeClick(data, node) {
            // 获取企业编号
            const enterpriseId = data.Enterprise_Info_SerialNumber || '';
            
            // 管理员企业编号是 '1'
            if (enterpriseId === '1') {
                // 点击"系统管理员"节点：清空过滤，显示所有商品
                this.form.value2 = '';
            } else {
                // 点击具体企业节点：设置企业编号进行过滤
                this.form.value2 = enterpriseId;
            }

            // 如果选中了企业（且不是 '1'），按企业过滤
            let extensionCondition = '';
            if (this.form.value2 && this.form.value2 !== '1') {
                extensionCondition = `AND article_category.Enterprise_Info_SerialNumber='${this.form.value2}'`;
            }

            // 更新查询条件并查询
            this.form.ExtensionCondition = utf8ToBase64(extensionCondition);
            this.form.PageNumber = 1;
            this.getList(this.form);
        },
        getTreeData(){
            httpRequest({
                url: '/generalBusiness/generalQueryByTableName',
                data: {
                    Data: 'enterprise_info',
                    Condition: `Row_Status='0'`
                },
                type:'GET'
            }).then(data => {
               this.treeData = data;
            }).catch(xhr => {
                this.$message.error("系统错误，请联系开发者!")
            })
        }
    }
})